import type { PropType } from 'vue';
import type  {TableColumn, TablePaginationConfig} from "ant-design-vue";
import type {FilterValue, SorterResult, TableCurrentDataSource} from "ant-design-vue/es/table/interface";
import type {OnChangeCallbackParams} from "@/components/core/dynamic-table/src/types";
export const cardProperty = {
    columns: {
        type: Array as PropType<TableColumn[]>,
        required: true,
        default: () => []
    },
    dataSource: {
        type: Array as PropType<any[]>,
        default: [],
    },
    onChange: {
        type: Function as PropType<(pagination: TablePaginationConfig, filters: Record<string, FilterValue>, sorter: SorterResult<any> | SorterResult<any>[], extra: TableCurrentDataSource<any>)=>void>,
        default: (pagination: TablePaginationConfig, filters: Record<string, FilterValue>, sorter: SorterResult<any> | SorterResult<any>[], extra: TableCurrentDataSource<any>) => {}
    }
    // page: {
    //     type: Array as PropType<any[]>,
    //     default: [{"current": 2,"pageSize": 10,},{},{},{}]
    // }
};
export const change = {
    change: []as OnChangeCallbackParams
}